//package com.duanjw.springcloud.gateway.filter;
//
//import org.springframework.cloud.gateway.filter.GatewayFilterChain;
//import org.springframework.cloud.gateway.filter.GlobalFilter;
//import org.springframework.cloud.gateway.support.ServerWebExchangeUtils;
//import org.springframework.core.Ordered;
//import org.springframework.core.io.buffer.DataBuffer;
//import org.springframework.http.HttpStatus;
//import org.springframework.http.server.RequestPath;
//import org.springframework.http.server.reactive.ServerHttpRequest;
//import org.springframework.http.server.reactive.ServerHttpResponse;
//import org.springframework.stereotype.Component;
//import org.springframework.web.server.ServerWebExchange;
//import reactor.core.publisher.Flux;
//import reactor.core.publisher.Mono;
//
//import java.net.URI;
//import java.nio.charset.StandardCharsets;
//
//@Component
//public class AuthFilter implements GlobalFilter, Ordered {
//    @Override
//    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
//        ServerHttpRequest request = exchange.getRequest();
//        RequestPath path = request.getPath();
//        System.out.println(path);
//        if(true) {
//            //设置status和body
//            return Mono.defer(() -> {
//                exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);//设置status
//                final ServerHttpResponse response = exchange.getResponse();
//                byte[] bytes = "{\"code\":\"99999\",\"message\":\"非法访问,没有检测到token~~~~~~\"}".getBytes();
//                DataBuffer buffer = exchange.getResponse().bufferFactory().wrap(bytes);
//                response.getHeaders().set("aaa", "bbb");//设置header
////            logger.info("TokenFilter拦截非法请求，没有检测到token............");
//                return response.writeWith(Flux.just(buffer));//设置body
//            });
//        }
//        return chain.filter(exchange);
//    }
//
//    @Override
//    public int getOrder() {
//        return -10;
//    }
//}
